package com.nuc.kl.base;

import java.util.List;

public interface DaoSupport<T> {
	
	/**
	 * 增加实体
	 * @param entity
	 */
	void save(T entity);
	
	/**
	 * 删除实体
	 * @param id
	 */
	void delete(Long id);
	
	/**
	 * 更新实体
	 * @param entity
	 */
	void update(T entity);
	
	/**
	 * 按id查询
	 * @param id
	 * @return
	 */
	T getById(Long id);
	
	/**
	 * 按id查询
	 * @param ids
	 * @return
	 */
	List<T> getByIds(Long[] ids);
	
	/**
	 *  查询所以
	 * @return
	 */
	List<T> findAll();
	
	
	/**
	 * 分页
	 * @param start开始页码
	 * @param number每页显示条数
	 * @return
	 */
	List<T> findAllPage(int start,int number);
	
	
	/**
	 * 总数
	 * @param entity
	 * @return
	 */
	Long count(T entity);
	
	/**自定义sql语句查询
	 * @param sql
	 * @return
	 */
	List<T> findBySQL(String sql);
	
}
